package com.cheetah.start.module.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cheetah.start.common.base.result.Result;
import com.cheetah.start.module.system.domain.SysMenu;
import com.cheetah.start.module.system.domain.SysRealMenu;

import java.util.List;

/**
 * 系统菜单服务
 *
 * @author Feel
 * @date 2021/08/22
 */
public interface ISysMenuService extends IService<SysMenu> {

    /**
     * 菜单列表
     *
     * @param userId 用户 id
     * @return {@link List}<{@link SysRealMenu}>
     */
    List<SysRealMenu> menuList(int userId);

    /**
     * 菜单
     *
     * @param sysRealMenus 菜单
     * @param parentId     父 id
     * @return {@link List}<{@link SysRealMenu}>
     */
    List<SysRealMenu> toMenu(List<SysRealMenu> sysRealMenus, String parentId);

    /**
     * 启用或禁用
     *
     * @param menuId 菜单id
     * @param enable 启用
     * @return {@link Result}
     */
    Result enableOrDisable(Integer menuId, String enable);

    /**
     * 设置前缀
     *
     * @param sysRealMenus sys真正的菜单
     * @param suffix       后缀
     */
    void setPreFix(List<SysRealMenu> sysRealMenus, String suffix);
}
